One operation in fine-tuning and troubleshooting of information systems, such as a computer application, is to measure the “performance” (time taken) to deliver a requested result from that system. Performance tools have been developed which measure certain events from an operating system perspective by measuring the time taken to process operations such as computations and I/O (Input/Output).
Typically, the performance data is stored in a database for subsequent analysis of the performance. The performance data is typically stored in a linear fashion where the data is stored under the particular performance category. For example, when a particular measured operation (e.g., a Web access operation) is completed within one second, the performance data corresponding to the one second category is updated. Similarly, when such an operation is completed within two seconds, the corresponding performance data is updated, etc. Such a configuration requires a significantly large storage space to store the performance data. In addition, when performance data is accessed (e.g., logged), a locking mechanism has to be in place for simultaneous accesses. This tends to slow down the access of the performance data, particularly, when there are many clients attempting to access the same performance data.